// 1.代码编写过程不会报错，执行阶段会报错

const obj = {}
console.log(obj);
// console.log(obj.foo()); //obj.foo is not a function

// 2.语言未定义数据类型:无法预知执行结果的错误,导致函数功能发生改变
function sum(a, b) {
    return a + b
}
console.log(sum(100, 100)); //200     Number 
console.log(sum(100, '100')); //100100   String

// 3.不明确数据类型，对对象索引器的错误用法
const obj1 = {}
obj1[true] = 100;
console.log(obj1['true']); //100